iT邦幫忙

2024 iThome 鐵人賽

DAY 6
1

為了有所憑依地說明編譯流程,貧道擬在本章定義一門法咒(咒、程式語言)——音界咒,在餘下章節,將實際操演如何將其轉換成真言。

此刻吾等修為尚淺,不宜一步登天,本章定義之法咒,乃音界咒的零.一版,該咒僅有簡單的變數定義能力,以及基本的數學運算。如此法咒顯非圖靈完備,沒法自舉,但不急,待零.二版、零.三版,會加入越發多的功能,終至能夠自舉。

音界咒設計

不同於塵界的咒語,多將組成字符限制在 ASCII,音界咒以全形標點符號以及漢字組成。過往也有周蟒、丙正正等透過重定義現有英語關鍵字來製成的漢語法咒,此類漢語法咒天然地有極大的問題:以 空白 分開 漢語詞 實在 太過 彆扭,讀 之 如 鯁 在 喉。

新興文言咒運用長關鍵字與句號,完美地避免了空白,並與文言文的語義結合極佳,實為漢語法咒發展至今矗立的一座高峰。但文言咒為了完全符合文言文語義,不採用+-=等記號,亦不使用阿拉伯數字,加上長關鍵字,使得法咒冗長,阻擋了它被大規模應用。

除了長關鍵字,還有其他方法可以符合漢語慣例(不用空白),又能輕易分詞的嗎?以音界號分隔詞語早就行之有年,如《莊子.內篇.逍遙遊》、《文選.李密.陳情表》,又如本作《離塵指引.卷之一.試結丹》。翻譯外文人名時,亦使用音界號來取代空白,如 Gabriel García Márquez 被譯為加布列.賈西亞.馬奎斯。

音界咒零.一版定義

變數宣告

當下所有變數皆為64位有號整數,之後會再擴展語法以支援更多型別。

元.甲=1024 #宣告甲為變數,其值為1024
元.乙=512  #宣告乙為變數,其值為512

註:漢語的「元」可代表未知數。如:「二元一次方程式」。今加以引申為變數使用。

數學運算

(1+3)*4/15-3

簡易四則運算,括號內先計算,先乘除後加減。

變數宣告與數學運算可以混合使用,如:

元.甲=(1+3)*4/15
元.乙=甲-1

這些就是音界咒零.一版的所有功能了!


上一篇
結丹流程概覽(通用編譯流程)
下一篇
全形編程字體選擇
系列文
離塵指引.卷之一.試結丹:程式語言自舉13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言